Middle-Out Reasoning for Logic Program Synthesis
نویسندگان
چکیده
Logic programs can be synthesized as a by-product of the planning of their verification proofs. This is achieved by using higher-order variables at the proof planning level, which become instantiated in the course of planning. We illustrate two uses of such variables in proof planning for program synthesis, one for synthesis proper and one for the selection of induction schemes. We demonstrate that the use of these variables can be restricted naturally in such a way that terms containing them form a tractable extension of first-order terms.
منابع مشابه
Middle - Out Reasoning for Synthesis and InductionIna
We develop two applications of middle-out reasoning in inductive proofs: Logic program synthesis and the selection of induction schemes. Middle-out reasoning as part of proof planning was rst suggested by Bundy et al Bundy et al 90a]. Middle-out reasoning uses variables to represent unknown terms and formulae. Uniication instantiates the variables in the subsequent planning, while proof plannin...
متن کاملUsing Middle-out Reasoning to Control the Synthesis of Tail-recursive Programs 1
We describe a novel technique for the automatic synthesis of tail-recursive programs. The technique is to specify the required program using the standard equations and then synthesise the tail-recursive program using the proofs as programs technique. This requires the speciication to be proved realisable in a constructive logic. Restrictions on the form of the proof ensure that the synthesised ...
متن کاملMax-planck-institut F Ur Informatik Middle-out Reasoning for Logic Program Synthesis K I N F O R M a T I K Im Stadtwald D 66123 Saarbr Ucken Germany Authors' Addresses
Logic programs can be synthesized as a by-product of the planning of their veri cation proofs. This is achieved by using higher-order variables at the proof planning level, which become instantiated in the course of planning. We illustrate two uses of such variables in proof planning for program synthesis, one for synthesis proper and one for the selection of induction schemes. We demonstrate t...
متن کاملUsing Middle-Out Reasoning to Control the Synthesis of Tail-Recursive Programs
We describe a novel technique for the automatic synthesis of tail-recursive programs. The technique is to specify the required program using the standard equations and then synthesise the tail-recursive program using the proofs as programs technique. This requires the speciication to be proved realisable in a constructive logic. Restrictions on the form of the proof ensure that the synthesised ...
متن کاملMiddle - Out Reasoning for LogicProgram
We propose a novel approach to automating the synthesis of logic programs: Logic programs are synthesized as a by-product of the planning of a veriication proof. The approach is a two-level one: At the object level, we prove program veriication conjectures in a sorted, rst-order theory. The conjectures are of the form 8args ????! : prog(args ????!) $ spec(args ????!). At the meta-level, we plan...
متن کامل